/*
   OpenZone2, Everquest 2 data editor
   Copyright (C) 2008  Andrew Fenn
    
	OpenZone2 is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation, either version 3 of the License, or
   (at your option) any later version.

   OpenZone2 is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with OpenZone2.  If not, see <http://www.gnu.org/licenses/>.
*/


#ifndef __OZ2_DATATYPES_H__
#define __OZ2_DATATYPES_H__

typedef struct {
	float x;
	float y;
} Vector2;

typedef struct {
	float x;
	float y;
	float z;
} Vector3;

typedef struct {
	unsigned int x;
	unsigned int y;
} Vector2i;

typedef struct {
	std::string type;
	int vertLength;
	Vector3* vertices;
	Vector3* normals;
	Vector2* texcoords;
	Vector2i* unknown01;
	Vector2i* unknown02;
	Vector2*  unknown03;
	// can't do unknown04 because no data
	unsigned short*  unknown05; // faces?
	
/*	std::vector<Vector2> unknown0;
	std::vector<Vector2> unknown1;
	std::vector<short> unknown3;*/
} OZ2File;

#endif
